package com.SoftwareManage.dao;

import com.SoftwareManage.entity.Cae;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.sql.Date;
import java.util.List;

@Mapper
public interface CaeDao {
    //获取所有信息
    List<Cae> selectAll();
    //获取分页后的诊断信息
    List<Cae> selectAlls(@Param("page") int page,
                         @Param("pageSize") int pageSize);
    //查询
    List<Cae> search(@Param("software") String software,
                     @Param("person") String person);

    //获取分页后的查询信息
    List<Cae> searchs(@Param("software") String software,
                      @Param("person") String person,
                      @Param("page") int page,
                      @Param("pageSize") int pageSize);

    //编辑信息
    void update(@Param("id") int id,
                @Param("software") String software,
                @Param("person") String person,
                @Param("ip") String ip,
                @Param("server") String server,
                @Param("address") String address,
                @Param("port") String port,
                @Param("datedue") Date datedue,
                @Param("license") String license,
                @Param("remark") String remark);

    //添加信息
    void add(@Param("software") String software,
             @Param("person") String person,
             @Param("ip") String ip,
             @Param("server") String server,
             @Param("address") String address,
             @Param("port") String port,
             @Param("datedue") Date datedue,
             @Param("license") String license,
             @Param("remark") String remark);

    //删除信息
    void delete(@Param("id") int id);

    //通过ID查找数据
    Cae findById(@Param("id") int id);

    //查找所有软件名
    List<String> selectAllSoftwares();
}
